installer: Rename run.sh to clone-qemu.sh
authorColin Walters <walters@verbum.org>
Thu, 9 Feb 2012 17:38:21 +0000 (12:38 -0500)
committerColin Walters <walters@verbum.org>
Thu, 9 Feb 2012 17:38:21 +0000 (12:38 -0500)
The idea here is that we expect people to run installed (i.e. with
host kernel), but we now have an option to boot via qemu too.

gnomeos/yocto/gnomeos-clone-qemu.sh [new file with mode: 0755]
gnomeos/yocto/gnomeos-run.sh [deleted file]

diff --git a/gnomeos/yocto/gnomeos-clone-qemu.sh b/gnomeos/yocto/gnomeos-clone-qemu.sh
new file mode 100755 (executable)
index 0000000..e639f5d
--- /dev/null
@@ -0,0 +1,99 @@
+#!/bin/sh
+# -*- indent-tabs-mode: nil; -*-
+# Run built image in QEMU 
+#
+# Copyright (C) 2011,2012 Colin Walters <walters@verbum.org>
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+set -e
+set -x
+
+SRCDIR=`dirname $0`
+WORKDIR=`pwd`
+
+if test $(id -u) != 0; then
+    cat <<EOF
+This script should be run as root.
+EOF
+    exit 1
+fi
+
+usage () {
+    echo "$0 OSTREE_REPO_PATH"
+    exit 1
+}
+
+ARCH=i686
+BRANCH_PREFIX="gnomeos-3.4-${ARCH}-"
+
+OBJ=gnomeos-fs.img
+if ! test -f ${OBJ}; then
+    cat <<EOF
+Create gnomeos-fs.img like this:
+$ qemu-img create gnomeos-fs.img 6G
+$ mkfs.ext4 -q -F gnomeos-fs.img
+EOF
+    exit 1
+fi
+
+if ! test -d ${WORKDIR}/repo/objects; then
+    cat <<EOF
+No ./repo/objects found
+EOF
+    exit 1
+fi
+
+mkdir -p fs
+umount fs || true
+sleep 1 # Avoid Linux kernel bug, pretty sure it's the new RCU pathname lookup
+mount -o loop gnomeos-fs.img fs
+
+cd fs
+
+TOPROOT_BIND_MOUNTS="home root tmp"
+
+for d in $TOPROOT_BIND_MOUNTS; do
+    if ! test -d $d; then
+        mkdir -m 0755 $d
+    fi
+done
+chmod a=rwxt tmp
+
+if ! test -d ostree; then
+    mkdir -p ostree
+
+    $SRCDIR/ostree-setup.sh $(pwd)/ostree
+fi
+
+rsync -a -H -v ${WORKDIR}/repo ${WORKDIR}/gnomeos-3.4-* ./ostree
+
+current_uname=$(uname -r)
+
+cd ${WORKDIR}
+
+sync
+umount fs
+rmdir fs
+
+if ! echo $ARGS | grep -q 'ostree='; then
+    ARGS="ostree=${BRANCH_PREFIX}runtime-current $ARGS"
+fi
+ARGS="rd.plymouth=0 root=/dev/sda $ARGS"
+KERNEL=/boot/vmlinuz-${current_uname}
+INITRD_ARG="-initrd /boot/initramfs-ostree-${current_uname}.img"
+
+exec qemu-kvm -kernel ${KERNEL} ${INITRD_ARG} -hda gnomeos-fs.img -net user -net nic,model=virtio -m 512M -append "$ARGS" -monitor stdio
diff --git a/gnomeos/yocto/gnomeos-run.sh b/gnomeos/yocto/gnomeos-run.sh
deleted file mode 100755 (executable)
index deb4389..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-#!/bin/sh
-# -*- indent-tabs-mode: nil; -*-
-# Run built image in QEMU 
-#
-# Copyright (C) 2011,2012 Colin Walters <walters@verbum.org>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-set -e
-set -x
-
-SRCDIR=`dirname $0`
-WORKDIR=`pwd`
-
-if test $(id -u) != 0; then
-    cat <<EOF
-This script should be run as root.
-EOF
-    exit 1
-fi
-
-usage () {
-    echo "$0 OSTREE_REPO_PATH"
-    exit 1
-}
-
-OSTREE_REPO=$1
-shift
-test -n "$OSTREE_REPO" || usage
-TYPE=$1
-shift
-
-ARCH=i686
-BRANCH_PREFIX="gnomeos-3.4-${ARCH}-"
-
-OBJ=gnomeos-fs.img
-if (! test -f ${OBJ}); then
-    rm -f ${OBJ}.tmp
-    qemu-img create ${OBJ}.tmp 6G
-    mkfs.ext3 -q -F ${OBJ}.tmp
-    mv ${OBJ}.tmp ${OBJ}
-fi
-
-mkdir -p fs
-umount fs || true
-sleep 1 # Avoid Linux kernel bug, pretty sure it's the new RCU pathname lookup
-mount -o loop gnomeos-fs.img fs
-
-cd fs
-
-TOPROOT_BIND_MOUNTS="home root tmp"
-
-for d in $TOPROOT_BIND_MOUNTS; do
-    if ! test -d $d; then
-        mkdir -m 0755 $d
-    fi
-done
-chmod a=rwxt tmp
-
-if ! test -d ostree; then
-    mkdir ostree
-    mkdir -p -m 0755 ./ostree/var/{log,run,tmp,spool}
-    mkdir -p ./ostree/var/lib/dbus
-    dbus-uuidgen > ./ostree/var/lib/dbus/machine-id
-
-    mkdir ./ostree/var/lib/gdm
-    chown 2:2 ./ostree/var/lib/gdm
-
-    touch ./ostree/var/shadow
-    chmod 0600 ./ostree/var/shadow
-
-    mkdir ostree/repo
-    ostree --repo=ostree/repo init
-
-    cat >ostree/var/passwd << EOF
-root::0:0:root:/:/bin/sh
-dbus:*:1:1:dbus:/:/bin/false
-gdm:*:2:2:gdm:/var/lib/gdm:/bin/false
-EOF
-    cat >ostree/var/group << EOF
-root:*:0:root
-dbus:*:1:
-gdm:*:2:
-EOF
-fi
-
-if test x${TYPE} = xcurrent; then
-    current_uname=$(uname -r)
-fi
-
-cd ostree
-ostree --repo=${OSTREE_REPO} local-clone repo ${BRANCH_PREFIX}runtime ${BRANCH_PREFIX}devel
-for branch in runtime devel; do
-    rev=$(ostree --repo=repo rev-parse ${BRANCH_PREFIX}${branch});
-    if ! test -d ${BRANCH_PREFIX}${branch}-${rev}; then
-        ostree --repo=repo checkout ${rev} ${BRANCH_PREFIX}${branch}-${rev}.tmp
-        ostbuild chroot-run-triggers ${BRANCH_PREFIX}${branch}-${rev}.tmp
-        if test x$TYPE = xcurrent; then
-            cp -ar /lib/modules/${current_uname} ${BRANCH_PREFIX}${branch}-${rev}.tmp/lib/modules
-        fi
-        mv ${BRANCH_PREFIX}${branch}-${rev}{.tmp,}
-    fi
-    rm -f ${BRANCH_PREFIX}${branch}-current
-    ln -s ${BRANCH_PREFIX}${branch}-${rev} ${BRANCH_PREFIX}${branch}-current
-done
-cd ..
-
-test -d proc || mkdir proc # needed for ostree-init
-cp -a ./ostree/${BRANCH_PREFIX}${branch}-current/usr/sbin/ostree-init .
-
-cd ${WORKDIR}
-
-sync
-umount fs
-rmdir fs
-
-ARGS="rd.plymouth=0 $@"
-if ! echo $ARGS | grep -q 'init='; then
-    ARGS="init=/ostree-init $ARGS"
-fi
-if ! echo $ARGS | grep -q 'ostree='; then
-    ARGS="ostree=${BRANCH_PREFIX}runtime-current $ARGS"
-fi
-if test x$TYPE = xqemu; then
-    ARGS="root=/dev/hda $ARGS"
-    KERNEL=./tmp-eglibc/deploy/images/bzImage-qemux86.bin
-else
-    if test x$TYPE = xcurrent; then
-        ARGS="root=/dev/sda $ARGS"
-        KERNEL=/boot/vmlinuz-${current_uname}
-        INITRD_ARG="-initrd /boot/initramfs-ostree-${current_uname}.img"
-    fi
-fi
-
-exec qemu-kvm -kernel ${KERNEL} ${INITRD_ARG} -hda gnomeos-fs.img -net user -net nic,model=virtio -m 512M -append "$ARGS" -monitor stdio